#ifndef CFONTENGINE_H_
#define CFONTENGINE_H_

#include "CFont.h"
#include <string>
#include <map>


namespace FBShells
{
	class CGraphics;
	class CFontEngine {
		protected:
			CFont* m_currentFont;
			CGraphics* m_parent;
			std::map<std::string,CFont*> m_fonts;
		public:
			CFontEngine(CGraphics* parent) : m_parent(parent) { }
			virtual ~CFontEngine() { }
			virtual bool selectFont(std::string fontname) {
				// TODO: This.
			}
			virtual bool loadFont(std::string fontname) = 0;
			virtual void drawString(std::string pstring, int x, int y) = 0;
			virtual void drawString(char* pstring, int x, int y) = 0;
			virtual void drawChar(char pchar, int x, int y) = 0;
	};
}

#endif /*CFONTENGINE_H_*/
